package manage.controller;

import com.alibaba.dubbo.config.annotation.Reference;
import com.shum1n.gmall.bean.*;
import com.shum1n.gmall.service.ManageService;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
public class ManageController {

    @Reference
    ManageService manageService;

//    @Reference
//    ListService listService;

    /**
     * 127.0.0.1:8082/getCatalog1
     * @return
     */
    @PostMapping("getCatalog1")
    public List<BaseCatalog1> getBaseCatalog1(){

        List<BaseCatalog1> baseCatalog1List = manageService.getCatalog1();
        return baseCatalog1List;
    }

    @PostMapping("getCatalog2")
    public List<BaseCatalog2> getBaseCatalog2(String catalog1Id){

        List<BaseCatalog2> baseCatalog2List = manageService.getCatalog2(catalog1Id);
        return baseCatalog2List;
    }


    @PostMapping("getCatalog3")
    public List<BaseCatalog3> getBaseCatalog3(String catalog2Id){

        List<BaseCatalog3> baseCatalog3List = manageService.getCatalog3(catalog2Id);
        return baseCatalog3List;
    }

    @GetMapping("attrInfoList")
    public List<BaseAttrInfo> getBaseAttrInfoList(String catalog3Id){

        return manageService.getAttrList(catalog3Id);
    }
//
//    @PostMapping("saveAttrInfo")
//    public String saveAttrInfo(@RequestBody BaseAttrInfo baseAttrInfo){
//
//        manageService.saveAttrInfo(baseAttrInfo);
//        return  "success";
//
//    }
//
//    @PostMapping("getAttrValueList")
//    public List<BaseAttrValue>  getAttrValueList(String attrId){
//
//        BaseAttrInfo baseAttrInfo = manageService.getBaseAttrInfo(attrId);
//
//        List<BaseAttrValue> attrValueList = baseAttrInfo.getAttrValueList();
//
//        return attrValueList;
//
//    }
//
//
//    @PostMapping("baseSaleAttrList")
//    public List<BaseSaleAttr> getBaseSaleAttrList(){
//        return manageService.getBaseSaleAttrList();
//    }
//
//
//    @PostMapping("saveSpuInfo")
//    public String saveSpuInfo(@RequestBody SpuInfo spuInfo){
//        manageService.saveSpuInfo(spuInfo);
//        return "success";
//    }
//
//
//    @GetMapping("spuList")
//    public List<SpuInfo> getSpuList(String catalog3Id){
//        return manageService.getSpuList(catalog3Id);
//    }
//
//
//    @GetMapping("spuImageList")
//    public List<SpuImage> getSpuImageList(String spuId){
//        return manageService.getSpuImageList(spuId);
//
//    }
//
//
//    @GetMapping("spuSaleAttrList")
//    public  List<SpuSaleAttr> getSpuSaleAttrList(String spuId){
//        return  manageService.getSpuSaleAttrList(spuId);
//    }
//
//    public  String onSaleBySpu(String spuId){
//        // 根据spu 把其下所有sku上架
//        return null;
//    }
//
//    @PostMapping("onSale")
//    public  String onSale(@RequestParam("skuId") String skuId){
//
//        SkuInfo skuInfo = manageService.getSkuInfo(skuId);
//
//        SkuLsInfo skuLsInfo = new SkuLsInfo();
//
//        try {
//            BeanUtils.copyProperties(skuLsInfo,skuInfo);
//        } catch (IllegalAccessException e) {
//            e.printStackTrace();
//        } catch (InvocationTargetException e) {
//            e.printStackTrace();
//        }
//        //
//        listService.saveSkuLsInfo(skuLsInfo);
//
//        return "success";
//
//    }
}
